{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "b566f84d",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.metrics import accuracy_score\n",
    "from sklearn.model_selection import train_test_split\n",
    "from lightgbm import LGBMClassifier\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.model_selection import train_test_split\n",
    "from hyperopt import hp\n",
    "import warnings\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "1082c4d0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForest정확도:  0.7529\n"
     ]
    }
   ],
   "source": [
    "df = pd.read_csv('./cancer_dataset_ver1.csv')\n",
    "X = df.iloc[:,:-1]\n",
    "y = df.iloc[:,-1]\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)\n",
    "rf_clf = RandomForestClassifier(max_depth = 100)\n",
    "rf_clf.fit(X_train, y_train)\n",
    "pred = rf_clf.predict(X_test)\n",
    "score = accuracy_score(y_test, pred)\n",
    "print(\"RandomForest정확도: \", np.round(score,4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "cdf0847a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.series.Series'>\n",
      "Index: 500 entries, SLC14A1 to DDB2\n",
      "Series name: None\n",
      "Non-Null Count  Dtype  \n",
      "--------------  -----  \n",
      "500 non-null    float64\n",
      "dtypes: float64(1)\n",
      "memory usage: 24.0+ KB\n",
      "None\n"
     ]
    }
   ],
   "source": [
    "ftr_importances_values = rf_clf.feature_importances_\n",
    "ftr_importances = pd.Series(ftr_importances_values, index = X_train.columns)\n",
    "ftr_top500 = ftr_importances.sort_values(ascending=False)[:500]\n",
    "\n",
    "plt.figure(figsize=(8,6))\n",
    "sns.barplot(x=ftr_top500, y=ftr_top500.index)\n",
    "plt.show()\n",
    "print(ftr_top500.info())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "9506224f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForest정확도:  0.8118\n"
     ]
    }
   ],
   "source": [
    "df_ver2 = df[ftr_top500.index]\n",
    "df_ver2['label'] = df['label']\n",
    "X = df_ver2.iloc[:,:-1]\n",
    "y = df_ver2.iloc[:,-1]\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)\n",
    "rf_clf = RandomForestClassifier(max_depth = 100)\n",
    "rf_clf.fit(X_train, y_train)\n",
    "pred = rf_clf.predict(X_test)\n",
    "score = accuracy_score(y_test, pred)\n",
    "print(\"RandomForest정확도: \", np.round(score,4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "3ad072c2",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1]\ttraining's binary_logloss: 0.623234\tvalid_1's binary_logloss: 0.679752\n",
      "[2]\ttraining's binary_logloss: 0.596087\tvalid_1's binary_logloss: 0.657697\n",
      "[3]\ttraining's binary_logloss: 0.571822\tvalid_1's binary_logloss: 0.636406\n",
      "[4]\ttraining's binary_logloss: 0.550326\tvalid_1's binary_logloss: 0.626967\n",
      "[5]\ttraining's binary_logloss: 0.530222\tvalid_1's binary_logloss: 0.620791\n",
      "[6]\ttraining's binary_logloss: 0.511341\tvalid_1's binary_logloss: 0.605226\n",
      "[7]\ttraining's binary_logloss: 0.491397\tvalid_1's binary_logloss: 0.597869\n",
      "[8]\ttraining's binary_logloss: 0.475802\tvalid_1's binary_logloss: 0.592859\n",
      "[9]\ttraining's binary_logloss: 0.458985\tvalid_1's binary_logloss: 0.591038\n",
      "[10]\ttraining's binary_logloss: 0.44267\tvalid_1's binary_logloss: 0.591731\n",
      "[11]\ttraining's binary_logloss: 0.427815\tvalid_1's binary_logloss: 0.585163\n",
      "[12]\ttraining's binary_logloss: 0.414046\tvalid_1's binary_logloss: 0.580796\n",
      "[13]\ttraining's binary_logloss: 0.402861\tvalid_1's binary_logloss: 0.574431\n",
      "[14]\ttraining's binary_logloss: 0.3903\tvalid_1's binary_logloss: 0.568714\n",
      "[15]\ttraining's binary_logloss: 0.37879\tvalid_1's binary_logloss: 0.56402\n",
      "[16]\ttraining's binary_logloss: 0.36666\tvalid_1's binary_logloss: 0.563141\n",
      "[17]\ttraining's binary_logloss: 0.357693\tvalid_1's binary_logloss: 0.557472\n",
      "[18]\ttraining's binary_logloss: 0.346811\tvalid_1's binary_logloss: 0.554234\n",
      "[19]\ttraining's binary_logloss: 0.337458\tvalid_1's binary_logloss: 0.551665\n",
      "[20]\ttraining's binary_logloss: 0.326226\tvalid_1's binary_logloss: 0.545623\n",
      "[21]\ttraining's binary_logloss: 0.316493\tvalid_1's binary_logloss: 0.540565\n",
      "[22]\ttraining's binary_logloss: 0.308467\tvalid_1's binary_logloss: 0.538525\n",
      "[23]\ttraining's binary_logloss: 0.297688\tvalid_1's binary_logloss: 0.533727\n",
      "[24]\ttraining's binary_logloss: 0.289042\tvalid_1's binary_logloss: 0.529962\n",
      "[25]\ttraining's binary_logloss: 0.280418\tvalid_1's binary_logloss: 0.527268\n",
      "[26]\ttraining's binary_logloss: 0.272807\tvalid_1's binary_logloss: 0.520177\n",
      "[27]\ttraining's binary_logloss: 0.264132\tvalid_1's binary_logloss: 0.515531\n",
      "[28]\ttraining's binary_logloss: 0.256897\tvalid_1's binary_logloss: 0.515384\n",
      "[29]\ttraining's binary_logloss: 0.250847\tvalid_1's binary_logloss: 0.510421\n",
      "[30]\ttraining's binary_logloss: 0.242181\tvalid_1's binary_logloss: 0.507116\n",
      "[31]\ttraining's binary_logloss: 0.235654\tvalid_1's binary_logloss: 0.509621\n",
      "[32]\ttraining's binary_logloss: 0.228406\tvalid_1's binary_logloss: 0.506242\n",
      "[33]\ttraining's binary_logloss: 0.222377\tvalid_1's binary_logloss: 0.504753\n",
      "[34]\ttraining's binary_logloss: 0.215859\tvalid_1's binary_logloss: 0.505212\n",
      "[35]\ttraining's binary_logloss: 0.209835\tvalid_1's binary_logloss: 0.500548\n",
      "[36]\ttraining's binary_logloss: 0.204077\tvalid_1's binary_logloss: 0.503805\n",
      "[37]\ttraining's binary_logloss: 0.198319\tvalid_1's binary_logloss: 0.500951\n",
      "[38]\ttraining's binary_logloss: 0.192592\tvalid_1's binary_logloss: 0.494317\n",
      "[39]\ttraining's binary_logloss: 0.187384\tvalid_1's binary_logloss: 0.492388\n",
      "[40]\ttraining's binary_logloss: 0.1819\tvalid_1's binary_logloss: 0.488495\n",
      "[41]\ttraining's binary_logloss: 0.176431\tvalid_1's binary_logloss: 0.487782\n",
      "[42]\ttraining's binary_logloss: 0.171733\tvalid_1's binary_logloss: 0.482848\n",
      "[43]\ttraining's binary_logloss: 0.166426\tvalid_1's binary_logloss: 0.482069\n",
      "[44]\ttraining's binary_logloss: 0.16165\tvalid_1's binary_logloss: 0.476929\n",
      "[45]\ttraining's binary_logloss: 0.156534\tvalid_1's binary_logloss: 0.477113\n",
      "[46]\ttraining's binary_logloss: 0.151555\tvalid_1's binary_logloss: 0.4763\n",
      "[47]\ttraining's binary_logloss: 0.147383\tvalid_1's binary_logloss: 0.479809\n",
      "[48]\ttraining's binary_logloss: 0.14318\tvalid_1's binary_logloss: 0.478554\n",
      "[49]\ttraining's binary_logloss: 0.139255\tvalid_1's binary_logloss: 0.477853\n",
      "[50]\ttraining's binary_logloss: 0.135107\tvalid_1's binary_logloss: 0.478949\n",
      "[51]\ttraining's binary_logloss: 0.131243\tvalid_1's binary_logloss: 0.47702\n",
      "[52]\ttraining's binary_logloss: 0.127306\tvalid_1's binary_logloss: 0.478598\n",
      "[53]\ttraining's binary_logloss: 0.123769\tvalid_1's binary_logloss: 0.482284\n",
      "[54]\ttraining's binary_logloss: 0.120126\tvalid_1's binary_logloss: 0.483566\n",
      "[55]\ttraining's binary_logloss: 0.116631\tvalid_1's binary_logloss: 0.478773\n",
      "[56]\ttraining's binary_logloss: 0.113122\tvalid_1's binary_logloss: 0.479732\n",
      "[57]\ttraining's binary_logloss: 0.109371\tvalid_1's binary_logloss: 0.479799\n",
      "[58]\ttraining's binary_logloss: 0.106205\tvalid_1's binary_logloss: 0.4759\n",
      "[59]\ttraining's binary_logloss: 0.103362\tvalid_1's binary_logloss: 0.475711\n",
      "[60]\ttraining's binary_logloss: 0.0998858\tvalid_1's binary_logloss: 0.478904\n",
      "[61]\ttraining's binary_logloss: 0.0970727\tvalid_1's binary_logloss: 0.477935\n",
      "[62]\ttraining's binary_logloss: 0.0943603\tvalid_1's binary_logloss: 0.478396\n",
      "[63]\ttraining's binary_logloss: 0.0915204\tvalid_1's binary_logloss: 0.477605\n",
      "[64]\ttraining's binary_logloss: 0.0889469\tvalid_1's binary_logloss: 0.47973\n",
      "[65]\ttraining's binary_logloss: 0.0865894\tvalid_1's binary_logloss: 0.48049\n",
      "[66]\ttraining's binary_logloss: 0.0842582\tvalid_1's binary_logloss: 0.484207\n",
      "[67]\ttraining's binary_logloss: 0.0816739\tvalid_1's binary_logloss: 0.486731\n",
      "[68]\ttraining's binary_logloss: 0.0795069\tvalid_1's binary_logloss: 0.486799\n",
      "[69]\ttraining's binary_logloss: 0.0776021\tvalid_1's binary_logloss: 0.488015\n",
      "[70]\ttraining's binary_logloss: 0.0755333\tvalid_1's binary_logloss: 0.487839\n",
      "[71]\ttraining's binary_logloss: 0.0733017\tvalid_1's binary_logloss: 0.488215\n",
      "[72]\ttraining's binary_logloss: 0.0712081\tvalid_1's binary_logloss: 0.489301\n",
      "[73]\ttraining's binary_logloss: 0.0689914\tvalid_1's binary_logloss: 0.485292\n",
      "[74]\ttraining's binary_logloss: 0.0670489\tvalid_1's binary_logloss: 0.485105\n",
      "[75]\ttraining's binary_logloss: 0.0652113\tvalid_1's binary_logloss: 0.487548\n",
      "[76]\ttraining's binary_logloss: 0.0635113\tvalid_1's binary_logloss: 0.486095\n",
      "[77]\ttraining's binary_logloss: 0.0618316\tvalid_1's binary_logloss: 0.48745\n",
      "[78]\ttraining's binary_logloss: 0.0600344\tvalid_1's binary_logloss: 0.486397\n",
      "[79]\ttraining's binary_logloss: 0.0584338\tvalid_1's binary_logloss: 0.48857\n",
      "[80]\ttraining's binary_logloss: 0.0568094\tvalid_1's binary_logloss: 0.489644\n",
      "[81]\ttraining's binary_logloss: 0.0553416\tvalid_1's binary_logloss: 0.486998\n",
      "[82]\ttraining's binary_logloss: 0.0538293\tvalid_1's binary_logloss: 0.490844\n",
      "[83]\ttraining's binary_logloss: 0.0524885\tvalid_1's binary_logloss: 0.493391\n",
      "[84]\ttraining's binary_logloss: 0.0508026\tvalid_1's binary_logloss: 0.491565\n",
      "[85]\ttraining's binary_logloss: 0.0495542\tvalid_1's binary_logloss: 0.493097\n",
      "[86]\ttraining's binary_logloss: 0.0478885\tvalid_1's binary_logloss: 0.499552\n",
      "[87]\ttraining's binary_logloss: 0.0466004\tvalid_1's binary_logloss: 0.496207\n",
      "[88]\ttraining's binary_logloss: 0.0454339\tvalid_1's binary_logloss: 0.495123\n",
      "[89]\ttraining's binary_logloss: 0.044209\tvalid_1's binary_logloss: 0.498536\n",
      "[90]\ttraining's binary_logloss: 0.043144\tvalid_1's binary_logloss: 0.501007\n",
      "[91]\ttraining's binary_logloss: 0.0419452\tvalid_1's binary_logloss: 0.501013\n",
      "[92]\ttraining's binary_logloss: 0.0408013\tvalid_1's binary_logloss: 0.501035\n",
      "[93]\ttraining's binary_logloss: 0.0397058\tvalid_1's binary_logloss: 0.502724\n",
      "[94]\ttraining's binary_logloss: 0.0385984\tvalid_1's binary_logloss: 0.504393\n",
      "[95]\ttraining's binary_logloss: 0.0376364\tvalid_1's binary_logloss: 0.504667\n",
      "[96]\ttraining's binary_logloss: 0.0367459\tvalid_1's binary_logloss: 0.504577\n",
      "[97]\ttraining's binary_logloss: 0.0356979\tvalid_1's binary_logloss: 0.507286\n",
      "[98]\ttraining's binary_logloss: 0.0346691\tvalid_1's binary_logloss: 0.503904\n",
      "[99]\ttraining's binary_logloss: 0.0337668\tvalid_1's binary_logloss: 0.504094\n",
      "[100]\ttraining's binary_logloss: 0.0329357\tvalid_1's binary_logloss: 0.509025\n",
      "[101]\ttraining's binary_logloss: 0.0320589\tvalid_1's binary_logloss: 0.50725\n",
      "[102]\ttraining's binary_logloss: 0.031239\tvalid_1's binary_logloss: 0.503651\n",
      "[103]\ttraining's binary_logloss: 0.0304224\tvalid_1's binary_logloss: 0.500813\n",
      "[104]\ttraining's binary_logloss: 0.0296043\tvalid_1's binary_logloss: 0.498086\n",
      "[105]\ttraining's binary_logloss: 0.0289087\tvalid_1's binary_logloss: 0.498633\n",
      "[106]\ttraining's binary_logloss: 0.0281959\tvalid_1's binary_logloss: 0.499688\n",
      "[107]\ttraining's binary_logloss: 0.0273905\tvalid_1's binary_logloss: 0.501977\n",
      "[108]\ttraining's binary_logloss: 0.0266622\tvalid_1's binary_logloss: 0.505563\n",
      "[109]\ttraining's binary_logloss: 0.0259508\tvalid_1's binary_logloss: 0.502472\n",
      "[110]\ttraining's binary_logloss: 0.0252709\tvalid_1's binary_logloss: 0.504585\n",
      "[111]\ttraining's binary_logloss: 0.0246014\tvalid_1's binary_logloss: 0.505706\n",
      "[112]\ttraining's binary_logloss: 0.0239582\tvalid_1's binary_logloss: 0.507636\n",
      "[113]\ttraining's binary_logloss: 0.0233521\tvalid_1's binary_logloss: 0.511263\n",
      "[114]\ttraining's binary_logloss: 0.0227173\tvalid_1's binary_logloss: 0.514203\n",
      "[115]\ttraining's binary_logloss: 0.0222029\tvalid_1's binary_logloss: 0.515272\n",
      "[116]\ttraining's binary_logloss: 0.0216393\tvalid_1's binary_logloss: 0.516773\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[117]\ttraining's binary_logloss: 0.0211488\tvalid_1's binary_logloss: 0.513233\n",
      "[118]\ttraining's binary_logloss: 0.0206534\tvalid_1's binary_logloss: 0.517094\n",
      "[119]\ttraining's binary_logloss: 0.0201837\tvalid_1's binary_logloss: 0.518642\n",
      "[120]\ttraining's binary_logloss: 0.019655\tvalid_1's binary_logloss: 0.515689\n",
      "[121]\ttraining's binary_logloss: 0.0191245\tvalid_1's binary_logloss: 0.521182\n",
      "[122]\ttraining's binary_logloss: 0.0186805\tvalid_1's binary_logloss: 0.519995\n",
      "[123]\ttraining's binary_logloss: 0.01817\tvalid_1's binary_logloss: 0.5253\n",
      "[124]\ttraining's binary_logloss: 0.0177315\tvalid_1's binary_logloss: 0.523578\n",
      "[125]\ttraining's binary_logloss: 0.0172581\tvalid_1's binary_logloss: 0.526506\n",
      "[126]\ttraining's binary_logloss: 0.0167821\tvalid_1's binary_logloss: 0.527754\n",
      "[127]\ttraining's binary_logloss: 0.0162839\tvalid_1's binary_logloss: 0.525375\n",
      "[128]\ttraining's binary_logloss: 0.0158847\tvalid_1's binary_logloss: 0.522265\n",
      "[129]\ttraining's binary_logloss: 0.0154787\tvalid_1's binary_logloss: 0.522076\n",
      "[130]\ttraining's binary_logloss: 0.0150424\tvalid_1's binary_logloss: 0.522777\n",
      "[131]\ttraining's binary_logloss: 0.0146227\tvalid_1's binary_logloss: 0.52288\n",
      "[132]\ttraining's binary_logloss: 0.014273\tvalid_1's binary_logloss: 0.522024\n",
      "[133]\ttraining's binary_logloss: 0.0138646\tvalid_1's binary_logloss: 0.525094\n",
      "[134]\ttraining's binary_logloss: 0.0135315\tvalid_1's binary_logloss: 0.52174\n",
      "[135]\ttraining's binary_logloss: 0.0131635\tvalid_1's binary_logloss: 0.520812\n",
      "[136]\ttraining's binary_logloss: 0.0127771\tvalid_1's binary_logloss: 0.521399\n",
      "[137]\ttraining's binary_logloss: 0.0123628\tvalid_1's binary_logloss: 0.523659\n",
      "[138]\ttraining's binary_logloss: 0.0120303\tvalid_1's binary_logloss: 0.522573\n",
      "[139]\ttraining's binary_logloss: 0.0116977\tvalid_1's binary_logloss: 0.522072\n",
      "[140]\ttraining's binary_logloss: 0.0114111\tvalid_1's binary_logloss: 0.52287\n",
      "[141]\ttraining's binary_logloss: 0.0110876\tvalid_1's binary_logloss: 0.525031\n",
      "[142]\ttraining's binary_logloss: 0.010788\tvalid_1's binary_logloss: 0.521499\n",
      "[143]\ttraining's binary_logloss: 0.0104745\tvalid_1's binary_logloss: 0.526277\n",
      "[144]\ttraining's binary_logloss: 0.0102199\tvalid_1's binary_logloss: 0.524391\n",
      "[145]\ttraining's binary_logloss: 0.00996111\tvalid_1's binary_logloss: 0.524454\n",
      "[146]\ttraining's binary_logloss: 0.00969364\tvalid_1's binary_logloss: 0.526203\n",
      "[147]\ttraining's binary_logloss: 0.00939609\tvalid_1's binary_logloss: 0.524993\n",
      "[148]\ttraining's binary_logloss: 0.00913415\tvalid_1's binary_logloss: 0.528013\n",
      "[149]\ttraining's binary_logloss: 0.00890039\tvalid_1's binary_logloss: 0.530191\n",
      "[150]\ttraining's binary_logloss: 0.00862859\tvalid_1's binary_logloss: 0.530911\n",
      "[151]\ttraining's binary_logloss: 0.00840543\tvalid_1's binary_logloss: 0.532724\n",
      "[152]\ttraining's binary_logloss: 0.008202\tvalid_1's binary_logloss: 0.533739\n",
      "[153]\ttraining's binary_logloss: 0.00799278\tvalid_1's binary_logloss: 0.540096\n",
      "[154]\ttraining's binary_logloss: 0.00777888\tvalid_1's binary_logloss: 0.539967\n",
      "[155]\ttraining's binary_logloss: 0.00755946\tvalid_1's binary_logloss: 0.53996\n",
      "[156]\ttraining's binary_logloss: 0.00734331\tvalid_1's binary_logloss: 0.53975\n",
      "[157]\ttraining's binary_logloss: 0.00714734\tvalid_1's binary_logloss: 0.538599\n",
      "[158]\ttraining's binary_logloss: 0.00695961\tvalid_1's binary_logloss: 0.537702\n",
      "[159]\ttraining's binary_logloss: 0.00676304\tvalid_1's binary_logloss: 0.535423\n",
      "LGBM정확도:  0.8471\n"
     ]
    }
   ],
   "source": [
    "#df = pd.read_csv('./cancer_dataset_ver1.csv')\n",
    "X = df_ver2.iloc[:,:-1]\n",
    "y = df_ver2.iloc[:,-1]\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)\n",
    "X_tr, X_val, y_tr, y_val = train_test_split(X_train, y_train, test_size=0.1)\n",
    "\n",
    "lgbm_wrapper = LGBMClassifier(n_estimators=400, learning_rate=0.05)\n",
    "evals = [(X_tr,y_tr), (X_val, y_val)]\n",
    "lgbm_wrapper.fit(X_tr, y_tr, early_stopping_rounds = 100, eval_metric=\"logloss\", eval_set = evals, verbose=True)\n",
    "preds = lgbm_wrapper.predict(X_test)\n",
    "score = accuracy_score(y_test, preds)\n",
    "print(\"LGBM정확도: \", np.round(score,4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "738aeeaa",
   "metadata": {},
   "outputs": [],
   "source": [
    "lgbm_search_space = {'num_leaves': hp.quniform('num_leaves', 32, 64, 1),\n",
    "                     'max_depth': hp.quniform('max_depth', 100, 160, 1),\n",
    "                     'min_child_samples': hp.quniform('min_child_samples', 60, 100, 1),\n",
    "                     'subsample': hp.uniform('subsample', 0.7, 1),\n",
    "                     'learning_rate': hp.uniform('learning_rate', 0.01, 0.2)\n",
    "                    }"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "0c30b57f",
   "metadata": {},
   "outputs": [],
   "source": [
    "def objective_func(search_space):\n",
    "    lgbm_clf =  LGBMClassifier(n_estimators=100, num_leaves=int(search_space['num_leaves']),\n",
    "                               max_depth=int(search_space['max_depth']),\n",
    "                               min_child_samples=int(search_space['min_child_samples']), \n",
    "                               subsample=search_space['subsample'],\n",
    "                               learning_rate=search_space['learning_rate'])\n",
    "    # 3개 k-fold 방식으로 평가된 roc_auc 지표를 담는 list\n",
    "    accuracy_score = []\n",
    "    \n",
    "    # 3개 k-fold방식 적용 \n",
    "    kf = KFold(n_splits=3)\n",
    "    # X_train을 다시 학습과 검증용 데이터로 분리\n",
    "    for tr_index, val_index in kf.split(X_train):\n",
    "        # kf.split(X_train)으로 추출된 학습과 검증 index값으로 학습과 검증 데이터 세트 분리 \n",
    "        X_tr, y_tr = X_train.iloc[tr_index], y_train.iloc[tr_index]\n",
    "        X_val, y_val = X_train.iloc[val_index], y_train.iloc[val_index]\n",
    "\n",
    "        # early stopping은 30회로 설정하고 추출된 학습과 검증 데이터로 XGBClassifier 학습 수행. \n",
    "        lgbm_clf.fit(X_tr, y_tr, early_stopping_rounds=30, eval_metric=\"logross\",\n",
    "           eval_set=[(X_tr, y_tr), (X_val, y_val)])\n",
    "\n",
    "        # 1로 예측한 확률값 추출후 roc auc 계산하고 평균 roc auc 계산을 위해 list에 결과값 담음.\n",
    "        score = accuracy_score(y_val, lgbm_clf.predict_proba(X_val)[:, 1]) \n",
    "        accuracy_score.append(score)\n",
    "    \n",
    "    # 3개 k-fold로 계산된 roc_auc값의 평균값을 반환하되, \n",
    "    # HyperOpt는 목적함수의 최소값을 위한 입력값을 찾으므로 -1을 곱한 뒤 반환.\n",
    "    return -1*np.mean(roc_auc_list)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "24edf142",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
